# @Version        : 1.0
# @Update Time    : 2025/10/18 11:35
# @File           : auth_interface.py
# @IDE            : PyCharm
# @Desc           : 文件描述信息
from typing import Sequence, Protocol

from authx.core.typings import LoginId


class AuthInterface(Protocol):
    """权限数据源接口 - 参考 Sa-Token 的 StpInterface"""

    async def get_permission_list(
        self, login_id: LoginId, login_type: str
    ) -> Sequence[str]:
        """返回指定账号id所拥有的权限码集合"""
        pass

    async def get_role_list(self, login_id: LoginId, login_type: str) -> Sequence[str]:
        """返回指定账号id所拥有的角色标识集合"""
        pass

    async def is_super_admin(self, login_id: LoginId, login_type: str) -> bool:
        """
        判断是否为超级管理员
        """
        pass
